谈谈能带来高薪报酬的软件技术
在职业发展初期,薪水并不一定是最重要的因素,但它是你付出的回报,并且反映出雇主对特定技能的重视/认可程度。
作者 | Fahim ul Haq
以下为译文:
作为一名软件开发人员,无论是经验丰富的专业人员还是刚刚起步,您一定需要学习新语言、新框架和新工具。如果你想在就业市场上保有竞争力和获得高薪待遇,这是至关重要的。
本文将谈一些最受欢迎的技术,学习这些技术会对你的薪水产生什么影响。我知道在职业发展初期,薪水并不一定是最重要的因素,但它是你付出的回报,并且反映出雇主对特定技能的重视/认可程度。通过本文,你会了解一些技术的发展趋势,对今后的职业生涯有所帮助。
本文中的薪资数据是基于那些有0-2年工作经验,并在中小型企业(101-500名员工的规模)工作的开发人员。所有数据的地理分布都在西雅图和华盛顿地区。
那里的薪资在整个行业中都保持良好,可以作为你未来工资的基本指标,当然,这不是精确预测。薪水会根据行业、地域、公司规模、你自己的经验水平、面试熟练程度、谈判技巧以及其他一些因素而有所不同。
这当然是有争议的,但是有一些主要的语言是初学者应该关注的:Python、Java、c++和JavaScript。主要有以下几个原因:
• 这些语言的开发人员需求量较大,不愁找工作。
• 它们相对比较容易学习。
• 它们会帮助您像开发人员那样思考,在编程逻辑和语法方面打下坚实的基础。
• 它们有无数的资源可以学习。
在做决定之前,你应该问自己一个问题:“我想进入编程的哪一领域?”你对前端开发、后端开发或两者都感兴趣吗?这将指导你选择第一语言。
下图显示了上述几种语言的开发人员的平均工资。
Python
Python开发人员得到了最丰厚的报酬,平均工资约为95,706美元。Python在其各种应用程序中发展迅速,从游戏/web开发到数据科学和机器学习,因此对Python开发人员的需求很高。
Python几乎可以服务于任何用例;它灵活、强大,而且易于学习。它是一种高级语言,代码易于阅读,也没有那些令人困惑的语法。
无论您想从事什么工作,Python都将是一项非常有价值的技能,并且在任何职业中都非常有用。
Java
Java通常是雇主最青睐的语言之一,因为它的简单性和广泛的适用性。专攻Java的开发人员找到体面的工资没有一点问题,平均工资为88,483美元。
虽然Java历来被许多公司视为最需要的技能,但是Python正在超越它,因为它所服务的用例更加广泛。但与Python相比,Java有更多的学习曲线,因此仍被认为是更简单的语言之一。
Java开发人员喜欢各种领域的应用——从电话到游戏机再到数据中心,Java软件可以在任何地方运行。这令Java开发人员激动人心,因为Java语言在不断地发展,这给了您一个站在新技术前沿的机会。
如果您真的想成为一名专业的开发人员,那么拥有一些Java经验也无妨。
C++
如果你想与众不同,那就挑战c++吧。刚开始的时候,c++开发人员的平均工资约为88,190美元,但有很大的发展空间。为什么?由于在自动驾驶汽车和物联网等领域的应用,c++正在经历“第二人生”。
此外,c++是一门相当难掌握的语言,随着越来越多的开发人员倾向于其他多用途语言,对有能力的c++开发人员的需求只会越来越大。如果你坚持下去,相信回报一定会很高。
可能c++刚入门有些难学,但是它将帮助您成为更好的开发人员,您了解计算机、编译器和语言的工作方式,并最终了解您的程序如何影响系统。c++离汇编代码只有几步之遥,它将使您对编程的构建块有更深入的了解。
如果你真的想了解编程的核心,那么c++是一个很好的入门语言。
JavaScript
如果您想做前端或全堆栈开发,那么JavaScript是一种必须了解的语言。刚开始工作时,你期望的平均工资大约是87,903美元。
JS的伟大之处在于,它是一种容易上手的语言,Facebook等公司正在创建有用的库和框架(如React),让JS开发变得更容易、更快。
现在是JavaScript开发人员的大好时机,因为其通用性和健壮性得到了很多改进。
一旦你选择了前端或后端,并且在你的第一语言中获得了坚实的编程基础,那么是时候去探索其他的东西了。下表按编程语言显示了开发人员的平均工资。
当你开始选择时,找到一门挑战你现有思维过程的语言是一个很好的练习。例如,如果您一直使用函数式编程原则,那么可以尝试使用一种面向对象原则的语言,反之亦然。这样做可以拓宽你的技能,让你能够轻松地融入不同的团队。这对于早期的开发人员来说尤其重要。
一定要记住,某些编程语言更适合解决特定类型的问题,所以您应该考虑每种语言的用例、优点和缺点。
考虑到这一点,除了第一部分中提到的四种语言(Python、Java、c++、JavaScript),还有一些其他值得研究的语言。
对于Java开发人员来说,Scala是一门极具挑战性的语言。它将函数式和面向对象的编程封装成包,让您可以自由地以各种风格编程。
对于Python开发人员,您可能想要查看c++。在你的职业生涯中,c++是一门非常值得学习的语言,因为你将开始真正理解编程和计算机是如何工作的,而不像高级语言(如Python)那样对你隐藏许多基本的操作。
对于c++开发人员,您应该考虑学习Rust或者Go。c++的一个常见缺陷是它很难处理内存管理和并发方式。像Rust和Go这样的语言使用了一种不同的内存管理模型,这使得创建安全、并发的程序变得更加容易。
为什么Scala和Go的平均工资这么高?随着Scala的不断改进,很多公司开始注意并迅速采用,根据需要构建可伸缩的程序。Scala通常也用于企业设置,这也是平均起薪如此之高的原因。
至于Go,它是一门相对较新的语言,有一些很棒的功能,精通它的开发人员较少。尤其是对企业来说,需求量很大。它非常适合现代使用微服务体系结构的开发和程序。对Go开发者的需求正在迅速增长,这也是他们能赚这么多钱的部分原因。
对于JavaScript开发人员,您应该学习HTML和CSS,同时花一些时间学习一些可用的库和框架(React.js, Angular.js, Node.js, Vue.js)。
无论你接下来选择学哪门语言,都要清楚自己的职业道路。例如,对于c++开发人员来说,学习诸如HTML之类的东西并不一定有用,因为它们的用途非常不同。
如果没有框架和库,JS就不会有今天的样子。下图显示了专门从事该技术的开发人员的平均工资。可见,同样都是JS的开发人员,但是如果采用了这些不同的框架或库时,会大有不同。
StackOverflow的《2019年开发者调查》显示,JQuery、React.js和Angular.js是最流行的库和框架。它们在行业内广泛使用,虽然它们有一些相似之处,但它们的核心是不同的,通常用于解决不同的问题。JQuery可能是开发人员社区中最流行的,但它在现代前端开发方面的相关性越来越小。
有趣的是,当您增加JQuery技能时,数据显示的薪水反而“减少”。虽然这有点夸张了(你的薪水不见得就会降),但这确实说明了一个事实:公司对JQuery并没有表现出很大的兴趣——至少那些支付高薪的公司没有。
如果您对全栈开发感兴趣,那么您应该花一些时间在非常流行的Node.js上。上面提到的库和框架用于客户端,而Node.js用于服务器端。js与一个好的框架结合起来,正是您构建web应用程序前端和后端所需要的。
最后,您应该选择最熟悉的框架或库,并满足需要解决的问题。
如果您了解JS,那么最好分配一些时间来学习这些技术。它将有利于您的职业生涯,并会提高薪水。
目前有很多库、框架和工具,并不是每种工具都适合每个开发人员,所以要明智地投资您的时间。
以下是一些非常突出的技术,你可以研究,每一个技术可能会对你的工资产生什么影响。
有趣的是,当你增加了Ansible和.net作为技能时,薪水会“下降”。虽然对你来说可能不会有实际的工资下降,但这可能说明了这样一个事实:那些支付高薪的公司并不追求这些技术。
Kubernetes和Docker已经席卷了整个世界,而对于了解这些工具的开发人员的需求可能会继续大幅增长。如果您想学习一种新工具,那么可以试试这些技术。
如果您是一名Python开发人员,并且对机器学习感兴趣,那么您可以查看TensorFlow和pandas。
有很多数据库可供选择:有基于sql的,有基于nosql的,也有同时使用的,所以建议你花点时间学习两者。然而,像Redis和MongoDB这样的NoSQL数据库是开发人员首选的DBMS。
如果您只想集中在一个方向上,那么首先需要决定如何组织数据。您希望它是关系还是非关系?在此基础上,最好了解每种DBMS的优缺点。许多开发人员喜欢使用MongoDB,因为它有类似json的文档存储方法。
除此之外,我们看到对从事Redis的开发人员的需求也很大。
如果您不确定要选择哪个数据库,请查看此关系图以快速了解SQL和NoSQL数据库。
对现代开发人员来说,处理云计算是一项重要的任务。您需要熟悉在一个云平台上构建和部署软件。如果我们选择一个云平台做基础开发,数据显示AWS目前的需求略高。
那么谷歌云平台(GCP)呢?我把它从报告中排除了,因为数据太有限了,无法得出有意义的结论。
你想为Android还是iOS开发应用程序?对于Android,最常用的语言是Java,而对于iOS则是Objective-C。虽然下面的细分显示iOS开发者通常会多赚一点,但Android正迅速成为开发者的首选操作系统。
StackOverflow的《2019年开发者调查》指出,Android是使用最多的移动操作系统。
值得重申的是,对于开发者来说,薪水并不是最重要的,你个人的兴趣和愿望才是主要的考虑因素。如果你打算投入时间学习一些东西,那么知道能获得什么样的回报也是很有必要的。
不管你在职业生涯中处于什么位置,不管你现在有没有学习新技能的计划,探索和了解哪些技术正朝着什么方向发展总是有好处的。
【END】
热 文 推 荐
☞微软全球执行副总裁沈向洋离职;马云回应双十一数据作假;GitHub 官方终于出 App 了!| 极客头条
☞GitHub标星近10万:只需5秒音源就能实时“克隆”你的声音!
☞i 智慧 | 为云而生、多快好省,这就是星星海的style!
☞支付宝首次在双11使用区块链技术的背后,新零售正在被重塑……